package thread.demo07.test2;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * 使用submit的坑--> 内部的异常不会抛出
 * 
 * @author mengzhang6
 *
 */
public class ThreadPoolDemo {
	public static void main(String[] args) {

		ExecutorService executorService = Executors.newFixedThreadPool(4);

		for (int i = 0; i < 5; i++) {
			int index = i;
			executorService.submit(() -> divTask(100, index));

		}
		executorService.shutdown();
	}

	private static void divTask(int a, int b) {
		double result = a / b;
		System.out.println(result);
	}
}
/**
 * 上述代码，可以看出运行结果为4个，因该是有5个的，但是当i=0的时候，100/0是会报错的，但是日志信息中没有任何信息，是为什么那？如果使用了submit(Runnable
 * task) 就会出现这种情况，任何的错误信息都出现不了！
 * 
 * 这是因为使用submit(Runnable task) 的时候，错误的堆栈信息跑出来的时候会被内部捕获到，所以打印不出来具体的信息让我们查看
 * 
 */